#include "iostream"
#include "fstream"
#include "string"
#include "iomanip"
//#include <windows.h>
using namespace std;

struct eachday // 通达信日K线数据结构
{
    int time;    // 年月日，如：20191228
    int open;    // 开盘价的100倍
    int high;    // 最高价的100倍
    int low;     // 最低价的100倍
    int close;   // 收盘价的100倍
    float vol1;  // 成交额，元
    int vol2;    // 成交量，股
    int reserve; // 保留字
};

int main()
{
    //SetConsoleOutputCP(65001);
    eachday A1;
    // string name;
    // string str1("d:\\New_tdx\\vipdoc\\"); // 请改为自己系统里的路径
    // string str2("\\lday\\");
    // string str3(".day");
    // string str4;
    // cout << "请输入股票代码：";
    // cin >> name;
    // if (name[0] == '6')
    //     str4 = "sh";
    // else
    //     str4 = "sz";
    ifstream fin;
    // string file = str1 + str4 + str2 + str4 + name + str3;
    string file = "d:\\Work\\Quant\\tdx\\data\\sh000688.day";
    fin.open(file, ios_base::in | ios_base::binary); // 可以不需要用file.c_str()转换成C风格字符串
    cout << fixed << right << setprecision(3);
    if (fin.is_open())
    {
        cout << "这里是文件 " << file << "中的内容:\n";
        cout << setw(6) << "日期" << setw(12) << "开盘价" << setw(10) << "最高价" << setw(10) << "最低价" << setw(10) << "收盘价"
             << setw(15) << "成交额（元）" << setw(20) << "成交量（股）" << setw(6) << "保留值" << endl;
        while (fin.read((char *)&A1, sizeof A1))
        {
            cout << setw(4) << A1.time << setw(10) << A1.open / 100.0 << setw(10) << A1.high / 100.0 << setw(10) << A1.low / 100.0
                 << setw(10) << A1.close / 100.0 << setw(15) << A1.vol1 << setw(15) << A1.vol2 << setw(10) << A1.reserve << endl;
        }
    }
    fin.close();
    return 0;
}